package com.road.yishi.core;

import org.aeonbits.owner.Config;

/**
 * @Description :
 * @FileName: CastleConfig.java
 * @Author :WeiHui.Zhang
 * @Data : 2016年2月19日 下午8:56:08
 * @Version:V1.00
 */
@Config.Sources("classpath:CastleServerConfig.properties")
public interface CastleConfig extends Config {

	/**
	 * 可以通过env参数实现不同开发环境的隔离
	 */
	@Key("env")
	@DefaultValue("")
	String env();

	@Key("${env}plot.path")
	String plotPath();

	@Key("${env}npcchat.path")
	String npcPath();

	@Key("${env}version.path")
	String versionPath();

	@Key("${env}language.path")
	String languagePath();

	@Key("${env}cross.path")
	String crossPath();

	@Key("${env}global.path")
	String globalPath();

	@Key("${env}log4j.path")
	String log4jPath();

	@Key("${env}serverRecord.path")
	String serverRecordPath();

	@Key("server.id")
	@DefaultValue("1")
	int serverId();

	@Key("server.type")
	int serverType();

	@Key("${env}order.path")
	String orderPath();

	@Key("mysql.maxconn")
	@DefaultValue("10")
	int maxConn();

	@Key("mysql.fallow")
	@DefaultValue("1")
	int fallow();

	@Key("log.maxconn")
	@DefaultValue("10")
	int logMaxconn();

	@Key("log.fallow")
	@DefaultValue("1")
	int logfallow();
}
